#ifndef __ASTAR_H
#define __ASTAR_H

#include "node.h"
#include "unsortedVector.h"
#include "sortedVectorByF.h"
#include "sortedVectorByXY.h"
#include "skipList.h"
#include "hashTable.h"
#include "hashTableSortedVector.h"
#include "skipListItem.h"
#include "results.h"
#include "timer.h"
#include "algorithm.h"
#include <vector>
#include <typeinfo>
#include <math.h>
#include <cstdlib>


class aStar : public algorithm
{
	private:
		float estimatedDistanceTo(int x, int y, Node* node);

	public:
		aStar(int* pmap, int xStart, int yStart, int xGoal, int yGoal);
		template <class data, class pointer> results* execute();
};



#endif